

*Conditions Key:

ca_erred_inciv= Out-group (OG) intolerance-uncivil combination
ca_inciv_only= Out-group (OG) incivility
ca_erred_only = Out-group (OG) intolerance
ca_aciv = Out-group (OG) civil negativity
pro_erred_inciv= In-group (IG) intolerance-uncivil combination
pro_inciv_only= In-group (IG) generalized incivility
pro_erred_only=In-group (IG) intolerance
pro_aciv = In-group (IG) civil negativity

gen inciv=1 if  ca_inciv_only==1 |  pro_inciv_only==1 |  ca_erred_inciv==1 |  pro_erred_inciv==1
replace inciv=0 if inciv~=1

gen ingroup=1 if  pro_inciv_only==1 |  pro_erred_only==1 |  pro_erred_inciv==1 |  pro_aciv==1
replace  ingroup=0 if ingroup~=1

gen outgroup=1 if  ca_inciv_only==1 |  ca_erred_only==1 |  ca_erred_inciv==1 |  ca_aciv==1
replace  outgroup=0 if outgroup~=1

gen civ_negativity=1 if  ca_aciv==1 | pro_aciv==1
replace civ_negativity=0 if civ_neg~=1

gen intol=1 if  ca_erred_only==1 |  pro_erred_only==1 |  ca_erred_inciv==1 |  pro_erred_inciv==1
replace intol=0 if intol~=1


*Means
bysort  civ_negativity: sum cand_disgust
bysort inciv: sum cand_disgust

bysort  civ_negativity: sum cand_disgust if ingroup==1
bysort inciv: sum cand_disgust if ingroup==1
bysort intol: sum cand_disgust if ingroup==1


bysort  civ_negativity: sum cand_disgust if ingroup==0
bysort inciv: sum cand_disgust if ingroup==1 & intol==0
bysort intol: sum cand_disgust if ingroup==1 & inciv==0
bysort intol: sum cand_disgust if ingroup==0 & inciv==0
bysort inciv: sum cand_disgust if ingroup==1 

*Table 2
{

*Table 2, Column 1
regress cand_disgust i.inciv intol ingroup cog_r emp_r
outreg2 using table1rr, ctitle(Model) bdec(2) tdec(2) rdec(2) adec(2) alpha(.01, .05, .10) addstat(Adj. R-squared, e(r2_p)) word replace

*Table 2, Column 2
regress cand_disgust inciv##ingroup intol##ingroup inciv##intol cog_r emp_r


*Table 2, Column 3
regress cand_disgust inciv##ingroup intol##ingroup inciv##intol##ingroup cog_r emp_r
outreg2 using table1rr, ctitle(Model) bdec(2) tdec(2) rdec(2) adec(2) alpha(.01, .05, .10) addstat(Adj. R-squared, e(r2_p)) word append

*Figure 1
margins ingroup#intol#inciv, post
estimates store No
coefplot No, recast(bar)vertical citop ciopt(recast(rcap))


*Table 2, Column 4

regress cand_dis inciv##ingroup intol##ingroup intol##ingroup##inciv intol##ingroup##c.cog_r emp_r
outreg2 using table1rr, ctitle(Model) bdec(2) tdec(2) rdec(2) adec(2) alpha(.01, .05, .10) addstat(Adj. R-squared, e(r2_p)) word append


*Figure 2
margins, dydx(intol) at(c.cog_r=(2(1)10))
marginsplot 

}


*Table 3
{

*Table 3, column 1
regress cand_therm inciv intol ingroup 
outreg2 using table2rr, ctitle(Model) bdec(2) tdec(2) rdec(2) adec(2) alpha(.01, .05, .10) addstat(Adj. R-squared, e(r2_p)) word replace

*Table 3, column 2
regress cand_therm ingroup##inciv##intol
outreg2 using table2rr, ctitle(Model) bdec(2) tdec(2) rdec(2) adec(2) alpha(.01, .05, .10) addstat(Adj. R-squared, e(r2_p)) word append

regress cand_therm inciv##intol##ingroup 
margins inciv##intol##ingroup , post 


regress cand_therm inciv##intol##ingroup 
margins inciv##intol##ingroup , post  
estimates store No

coefplot, recast(bar)vertical


*Figure 3

regress cand_therm ingroup##intol##inciv


margins ingroup#intol#inciv, post
estimates store No
coefplot No, recast(bar)vertical citop ciopt(recast(rcap))

bysort civ: sum cand_therm if intol==0 & ingroup==0
bysort inciv: sum cand_therm if intol==0 & ingroup==0
bysort civ: sum cand_therm if intol==0 & ingroup==1
bysort inciv: sum cand_therm if intol==0 & ingroup==1

bysort inciv: sum cand_therm if intol==1 & ingroup==0
bysort inciv: sum cand_therm if intol==1 & ingroup==1


*Table 3, column 3
regress cand_vote inciv intol ingroup 
outreg2 using table2rr, ctitle(Model) bdec(2) tdec(2) rdec(2) adec(2) alpha(.01, .05, .10) addstat(Adj. R-squared, e(r2_p)) word append

*Table 3, column 4
regress cand_vote inciv##intol##ingroup 
margins inciv#intol#ingroup 
outreg2 using table2rr, ctitle(Model) bdec(2) tdec(2) rdec(2) adec(2) alpha(.01, .05, .10) addstat(Adj. R-squared, e(r2_p)) word append

*Causal Mediation Models and Sensitivity Analyses

medeff (regress cand_disgust inciv intol ingroup) (regress cand_therm cand_disgust inciv intol ingroup), treat(inciv) mediate(cand_disgust) sims(1000)
medsens (regress cand_disgust inciv intol ingroup) (regress cand_therm cand_disgust inciv intol ingroup), treat(inciv) mediate(cand_disgust) sims(1000)

medeff (regress cand_disgust inciv intol ingroup) (regress cand_therm cand_disgust inciv intol ingroup), treat(intol) mediate(cand_disgust) sims(1000)
medsens (regress cand_disgust inciv intol ingroup) (regress cand_therm cand_disgust inciv intol ingroup), treat(intol) mediate(cand_disgust) sims(1000)


medeff (regress cand_disgust inciv intol ingroup) (regress cand_vote cand_disgust inciv intol ingroup), treat(inciv) mediate(cand_disgust) sims(1000)
medsens (regress cand_disgust inciv intol ingroup) (regress cand_vote cand_disgust inciv intol ingroup), treat(inciv) mediate(cand_disgust) sims(1000)

medeff (regress cand_disgust inciv intol ingroup) (regress cand_vote cand_disgust inciv intol ingroup), treat(intol) mediate(cand_disgust) sims(1000)
medsens (regress cand_disgust inciv intol ingroup) (regress cand_vote cand_disgust inciv intol ingroup), treat(intol) mediate(cand_disgust) sims(1000)

}

*Table 4
{

*Table 4, column 1

regress cand_therm inciv intol ingroup c.cog_r emp_r

*Table 4, column 2
regress cand_therm inciv##ingroup intol##ingroup intol##ingroup##inciv intol##ingroup##c.cog_r emp_r emp_r 
outreg2 using table3rr, ctitle(Model) bdec(2) tdec(2) rdec(2) adec(2) alpha(.01, .05, .10) addstat(Adj. R-squared, e(r2_p)) word append

*Model for Figure 4
margins intol#ingroup, at(c.cog_r=(2(2)10)) post 
marginsplot

margins, dydx(intol#ingroup) at(c.cog_r=(2(1)10))
marginsplot 

bysort intol: sum cand_therm if cog_r==2 & ingroup==1 

margins ingroup, at(c.cog_r=(2(2)10)) post 

*Table 4, column 3
regress cand_vote inciv intol ingroup c.cog_r emp_r


*Table 4, column 4

regress cand_vote inciv##ingroup intol##ingroup intol##ingroup##inciv intol##ingroup##c.cog_r emp_r
outreg2 using table3rr, ctitle(Model) bdec(2) tdec(2) rdec(2) adec(2) alpha(.01, .05, .10) addstat(Adj. R-squared, e(r2_p)) word append

regress cand_vote inciv##ingroup intol##ingroup intol##inciv cog_r emp_r
regress cand_therm inciv##ingroup intol##ingroup intol##inciv intol##c.cog_r ingroup##c.cog_r emp_r

*Finally, three-way interaction:
margins intol##ingroup##inciv


regress cand_vote inciv##ingroup intol##ingroup intol##inciv intol##c.cog_r emp_r ingroup##c.cog_r emp_r

}


*Appendix
{



*Appendix Table A8.1

regress cand_disgust inciv intol ingroup  pid2 pid_s fem cog_r emp_r

regress cand_disgust inciv##ingroup intol##ingroup inciv##intol##ingroup pid2 pid_s fem cog_r emp_r

regress cand_dis inciv##ingroup intol##ingroup intol##ingroup##inciv intol##ingroup##c.emp_r pid2 pid_s fem cog_r

*Table A8.2

regress cand_therm inciv intol ingroup pid2 pid_s fem cog_r emp_r

regress cand_therm inciv##intol##ingroup pid2 pid_s fem cog_r emp_r

regress cand_vote inciv intol ingroup pid2 pid_s fem cog_r emp_r

regress cand_vote inciv##intol##ingroup pid2 pid_s fem cog_r emp_r

*Causal Mediation Models and Sensitivity Analyses

medeff (regress cand_disgust inciv intol ingroup pid2 pid_s fem cog_r emp_r) (regress cand_therm cand_disgust inciv intol ingroup pid2 pid_s fem cog_r emp_r), treat(inciv) mediate(cand_disgust) sims(1000)
medsens (regress cand_disgust inciv intol ingroup pid2 pid_s fem cog_r emp_r) (regress cand_therm cand_disgust inciv intol ingroup pid2 pid_s fem cog_r emp_r), treat(inciv) mediate(cand_disgust) sims(1000)

medeff (regress cand_disgust inciv intol ingroup pid2 pid_s fem cog_r emp_r) (regress cand_therm cand_disgust inciv intol ingroup pid2 pid_s fem cog_r emp_r), treat(intol) mediate(cand_disgust) sims(1000)
medsens (regress cand_disgust inciv intol ingroup pid2 pid_s fem cog_r emp_r) (regress cand_therm cand_disgust inciv intol ingroup pid2 pid_s fem cog_r emp_r), treat(intol) mediate(cand_disgust) sims(1000)


medeff (regress cand_disgust inciv intol ingroup pid2 pid_s fem cog_r emp_r) (regress cand_vote cand_disgust inciv intol ingroup pid2 pid_s fem cog_r emp_r), treat(inciv) mediate(cand_disgust) sims(1000)
medsens (regress cand_disgust inciv intol ingroup pid2 pid_s fem cog_r emp_r) (regress cand_vote cand_disgust inciv intol ingroup pid2 pid_s fem cog_r emp_r), treat(inciv) mediate(cand_disgust) sims(1000)

medeff (regress cand_disgust inciv intol ingroup pid2 pid_s fem cog_r emp_r) (regress cand_vote cand_disgust inciv intol ingroup pid2 pid_s fem cog_r emp_r), treat(intol) mediate(cand_disgust) sims(1000)
medsens (regress cand_disgust inciv intol ingroup pid2 pid_s fem cog_r emp_r) (regress cand_vote cand_disgust inciv intol ingroup pid2 pid_s fem cog_r emp_r), treat(intol) mediate(cand_disgust) sims(1000)



*Table A8.3

regress cand_therm inciv##ingroup intol##ingroup intol##ingroup##inciv intol##ingroup##c.cog_r pid2 pid_s fem emp_r
regress cand_vote inciv##ingroup intol##ingroup intol##ingroup##inciv intol##ingroup##c.cog_r pid2 pid_s fem emp_r

*Table A8.x

regress cand_therm inciv##ingroup intol##ingroup intol##inciv 
outreg2 using tableA8x, ctitle(Model) bdec(2) tdec(2) rdec(2) adec(2) alpha(.01, .05, .10) addstat(Adj. R-squared, e(r2_p)) word replace

regress cand_vote inciv##ingroup intol##ingroup intol##inciv 
outreg2 using tableA8x, ctitle(Model) bdec(2) tdec(2) rdec(2) adec(2) alpha(.01, .05, .10) addstat(Adj. R-squared, e(r2_p)) word append

regress cand_therm inciv##ingroup intol##ingroup intol##inciv intol##c.cog_r emp_r ingroup##c.cog_r emp_r
outreg2 using tableA8x, ctitle(Model) bdec(2) tdec(2) rdec(2) adec(2) alpha(.01, .05, .10) addstat(Adj. R-squared, e(r2_p)) word replace

regress cand_vote inciv##ingroup intol##ingroup intol##inciv intol##c.cog_r emp_r ingroup##c.cog_r emp_r
outreg2 using tableA8x, ctitle(Model) bdec(2) tdec(2) rdec(2) adec(2) alpha(.01, .05, .10) addstat(Adj. R-squared, e(r2_p)) word append



*Appendix Table A8.1

regress cand_angry intol##ingroup##inciv pid2 pid_s fem cog_r emp_r

outreg2 using tableA81, ctitle(Model) bdec(2) tdec(2) rdec(2) adec(2) alpha(.01, .05, .10) addstat(Adj. R-squared, e(r2_p)) word replace

regress cand_afraid intol##ingroup##inciv pid2 pid_s fem cog_r emp_r

outreg2 using tableA81, ctitle(Model) bdec(2) tdec(2) rdec(2) adec(2) alpha(.01, .05, .10) addstat(Adj. R-squared, e(r2_p)) word append

regress cand_enth intol##ingroup##inciv pid2 pid_s fem cog_r emp_r

outreg2 using tableA81, ctitle(Model) bdec(2) tdec(2) rdec(2) adec(2) alpha(.01, .05, .10) addstat(Adj. R-squared, e(r2_p)) word append

regress cand_proud intol##ingroup##inciv pid2 pid_s fem cog_r emp_r

outreg2 using tableA81, ctitle(Model) bdec(2) tdec(2) rdec(2) adec(2) alpha(.01, .05, .10) addstat(Adj. R-squared, e(r2_p)) word append


*Table A8.2

regress cand_therm cand_disgu cand_angry cand_afraid cand_enth cand_proud pid2 pid_s fem cog_r emp_r

outreg2 using tableA82, ctitle(Model) bdec(2) tdec(2) rdec(2) adec(2) alpha(.01, .05, .10) addstat(Adj. R-squared, e(r2_p)) word replace

regress cand_therm cand_disgu cand_angry cand_afraid cand_enth cand_proud pid2 pid_s fem cog_r emp_r ideo conflict_avoid educ gender

outreg2 using tableA82, ctitle(Model) bdec(2) tdec(2) rdec(2) adec(2) alpha(.01, .05, .10) addstat(Adj. R-squared, e(r2_p)) word append

*Table A8.3

regress cand_vote cand_disgu cand_angry cand_afraid cand_enth cand_proud pid2 pid_s fem cog_r emp_r

outreg2 using tableA83, ctitle(Model) bdec(2) tdec(2) rdec(2) adec(2) alpha(.01, .05, .10) addstat(Adj. R-squared, e(r2_p)) word replace

regress cand_vote cand_disgu cand_angry cand_afraid cand_enth cand_proud pid2 pid_s fem cog_r emp_r ideo conflict_avoid educ gender

outreg2 using tableA83, ctitle(Model) bdec(2) tdec(2) rdec(2) adec(2) alpha(.01, .05, .10) addstat(Adj. R-squared, e(r2_p)) word append

oprob cand_vote cand_disgu cand_angry cand_afraid cand_enth cand_proud pid2 pid_s fem cog_r emp_r

outreg2 using tableA83, ctitle(Model) bdec(2) tdec(2) rdec(2) adec(2) alpha(.01, .05, .10) addstat(Adj. R-squared, e(r2_p)) word append

oprob cand_vote cand_disgu cand_angry cand_afraid cand_enth cand_proud pid2 pid_s fem cog_r emp_r ideo conflict_avoid educ gender

outreg2 using tableA83, ctitle(Model) bdec(2) tdec(2) rdec(2) adec(2) alpha(.01, .05, .10) addstat(Adj. R-squared, e(r2_p)) word append

*Table A8.4

oprob cand_vote inciv intol ingroup pid2 pid_s fem cog_r emp_r
outreg2 using tableA8.4, ctitle(Model) bdec(2) tdec(2) rdec(2) adec(2) alpha(.01, .05, .10) addstat(Adj. R-squared, e(r2_p)) word replace


oprob cand_vote inciv##ingroup intol##ingroup intol##ingroup##inciv pid2 pid_s fem cog_r emp_r
outreg2 using tableA8.4, ctitle(Model) bdec(2) tdec(2) rdec(2) adec(2) alpha(.01, .05, .10) addstat(Adj. R-squared, e(r2_p)) word append


regress cand_disgust ingroup inciv##intol##c.cog_r pid2 pid_s fem emp_r

regress cand_vote inciv##ingroup intol##ingroup intol##ingroup##inciv inciv##ingroup##c.cog_r pid2 pid_s fem emp_r
}

